package com.yyh.fanxing;

import java.util.LinkedList;
import java.util.Queue;

/*队列：
* 单词：queue
* 说明：Java中提供了队列的Queue接口，该接口继承了Collection接口，Queue接口定义了队列的操作方法。
* 队列的操作方法：
* boolean add(E e):添加元素，如果添加成功，则返回true，如果添加失败，则返回false
* boolean offer(E e):添加元素，如果添加成功，则返回true，如果添加失败，则返回false
* E remove():获取并移除队列头部的元素，如果队列为空，则抛出异常NoSuchElementException
* E poll():获取并移除队列头部的元素，如果队列为空，则返回null
* E element():获取队列头部的元素，如果队列为空，则抛出异常NoSuchElementException
* E peek():获取队列头部的元素，如果队列为空，则返回null
* 注意：LinkedList集合 implements Queue接口
* */
public class Demo2 {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();
        queue.add(1);
        queue.add(2);
        queue.add(3);
        queue.add(4);
        queue.add(5);
        System.out.println("queue = " + queue);
        /*while (queue.size() > 0){
            queue.remove();
        }*/
        Integer remove = queue.remove();
        System.out.println("remove = " + remove);
        System.out.println("queue = " + queue);
        queue.poll();
        System.out.println("queue = " + queue);
        Integer peek = queue.peek();
        System.out.println("peek = " + peek);
        System.out.println("queue = " + queue);
        queue.remove();
        queue.remove();
        queue.remove();
        Integer poll = queue.poll();
        System.out.println("poll = " + poll);
        System.out.println("queue = " + queue);
        /*Integer element = queue.element();
        System.out.println("element = " + element);
        System.out.println("queue = " + queue);*/

    }
}
